package kr.hkit.PowerJava.chapter26;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.InvalidPropertiesFormatException;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.Set;

public class DbUtil {
    
	public static Properties loadPropertis(String propertiesFile){
		BufferedInputStream bis =null;
		Properties prop = null;
		try{
		bis = new BufferedInputStream(new FileInputStream(propertiesFile));
		prop = new Properties();
		prop.loadFromXML(bis);
		return prop;
	}catch (FileNotFoundException e){
		System.err.print("파일이 존재하지 않음");
	} catch (InvalidPropertiesFormatException e) {
		System.err.print("유효하지 않은 파일");
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		if (bis != null)try{bis.close();bis=null;}catch(Exception e){}
	}
	return prop;
	}
	public static void savePropertis(String propertiesFile, String...value){
    	 BufferedOutputStream bos = null;
    	 Properties prop = null;
    	 
    	 try {
			bos = new BufferedOutputStream(new FileOutputStream(propertiesFile));
			prop = new Properties();
			
			prop.setProperty("DRIVER", value[0]);
			prop.setProperty("URL", value[1]);
			prop.setProperty("USER", value[2]);
			prop.setProperty("PASSWORD", value[3]);
			
			prop.storeToXML(bos, "DataBase Connection XML Property File");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
	     	e.printStackTrace();
		} finally {
			if (bos != null)try{bos.close();bos=null;}catch(Exception e){}
		}
    	 
     }


public static void prnProperties(Properties prop){
	Set<Entry<Object, Object>> setmap=prop.entrySet();
	for (Entry<Object, Object> propty : setmap){
		System.out.printf("%s : %s\n", propty.getKey(), propty.getValue());	
		}
}
}